<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>js基础</title>
</head>

<body>
    <script>
        // Object:对象
        // 对象：一个具体的个体，包含个体的一些特点（属性）和操作（方法）；

        // 对象：属性
        // 键值对（key-value）
        var stu = {
            name: 'lxx',
            age: 22,
            major: 'H5',
        }
        console.log(stu);
        // stu.name:打点调用取值
        console.log(stu.name);
        // 从对象中取值的另一种写法：stu['属性名']
        console.log(stu['name']);
        // stu.major:打点调用赋值
        stu.major = 'python';
        console.log(stu.major);

        // 操作属性的第二种方法：
        stu['major'] = 'UI';
        console.log(stu.major);

        // 添加属性：
        stu.phone = '15093408313';
        stu['sex'] = 'man';
        console.log(stu);

        // 删除属性：
        // delete:删除
        delete stu.phone;
        console.log(stu);

        // Array：数组,一组数据
        // 索引（下标）：0，1，2，3，...
        // 元素：数组中的每一个数据就是一个元素；
        // 可以根据索引找到数组中的每一个元素；
        var arr = [100, 'lxx', true, 899, 900, '0000', false];
        // 从数组中取出一个元素。
        console.log(arr[1]);

        // 修改数组中某个值:

        arr[2] = 'false';
        console.log(arr);
        // 在数组后追加一个元素
        arr.push('hello');
        // 在数组前追加一个元素
        arr.unshift('world');

        // 从数组结尾删除一个元素
        arr.pop();
        // 从数组的开头删除一个元素
        arr.shift();
        console.log(arr);

        // js流程控制语句：
        // for循环；i:控制循环次数
        // 1)首先，声明变量i，赋值0，
        // 2)判断i<100是否成立
        //3)  成立，执行｛｝中的内容，
        // 然后修改i；
        // 重复2）
        // 不成立，结束循环
        for (var i = 0; i < 100; i++) {
            // 需要重复的执行的代码
            console.log(i);
        }
        //  遍历数组
        for (var i = 0; i < arr.length; i++) {
            console.log(arr[i]);
        }
        for (var a = 0; a <= 100; a++) {
            if (a % 3 == 0) {
                console.log(a)
            }
        }
        // 累加求和：
        var sum = 0;
        for (var i = 0; i <= 100; i++) {
            // sum = sum + i ;
            sum += i
        }
        console.log(sum);

        // 乘法表：
        var resultstr = '';
        for (var a = 1; a <= 5; a++) {
            var str = a + '*5' + '=' + 5 * a + ' ';
            resultstr += str;

        }
        console.log(resultstr);
        // 99乘法表，一行重复9次，修改与行号相关的数据
        for (var j = 1; j < 10; j++) {
            var resultstr = '';
            for (var a = 1; a <= j; a++) {
                var str = a + '*'+j + '=' + j * a + ' ';
                resultstr += str;
            }
            console.log(resultstr);
        }

        //   作业：
        // 1）输出【0-100】范围内所有含7的数字；
        // 2）数组排重，删除数组内重复的元素；
        // 3）统计字符串中每个字符出现频率；


        // 字符串中某个子串的索引
        // 存在,返回索引值；不存在返回-1;
        var str4 = '12479';
            console.log(str4.indexOf('7'));


        var arr1 = [100,200,300,200,500,400,500];
        // 1；删除数据的起始索引
        // 2；删除元素的数目
        arr1.splice(2,1);
        console.log(arr1);



        var str = 'dgfhjklteryuiopsdgfhjkletryjuki';
            console.log(str[0]);
    </script>
</body>

</html>